Dual code
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
In coding theory, the dual code of a linear code
C ⊂ ⊂ F q n {\displaystyle C\subset \mathbb {F} _{q}^{n}}
is the linear code defined by
C ⊥ ⊥ = { x ∈ ∈ F q n ∣ ∣ ⟨ ⟨ x , c ⟩ ⟩ = 0 ∀ ∀ c ∈ ∈ C } {\displaystyle C^{\perp }=\{x\in \mathbb {F} _{q}^{n}\mid \langle x,c\rangle =0\;\forall c\in C\}}
where
⟨ ⟨ x , c ⟩ ⟩ = ∑ ∑ i = 1 n x i c i {\displaystyle \langle x,c\rangle =\sum _{i=1}^{n}x_{i}c_{i}}
is a scalar product. In linear algebra terms, the dual code is the annihilator of C with respect to the bilinear form ⟨ ⟨ ⋅ ⋅ ⟩ ⟩ {\displaystyle \langle \cdot \rangle } . The dimension of C and its dual always add up to the length n:
dim C + dim C ⊥ ⊥ = n . {\displaystyle \dim C+\dim C^{\perp }=n.}
A generator matrix for the dual code is the parity-check matrix for the original code and vice versa. The dual of the dual code is always the original code.
Contents
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Self-dual codes
A self-dual code is one which is its own dual. This implies that n is even and dim C = n/2. If a self-dual code is such that each codeword's weight is a multiple of some constant c > 1 {\displaystyle c>1} , then it is of one of the following four types:cite-ref-1[1]
• Type I codes are binary self-dual codes which are not doubly even. Type I codes are always even (every codeword has even Hamming weight).
• Type II codes are binary self-dual codes which are doubly even.
• Type III codes are ternary self-dual codes. Every codeword in a Type III code has Hamming weight divisible by 3.
• Type IV codes are self-dual codes over F4. These are again even.
Codes of types I, II, III, or IV exist only if the length n is a multiple of 2, 8, 4, or 2 respectively.
If a self-dual code has a generator matrix of the form G = [ I k | A ] {\displaystyle G=[I_{k}|A]} , then the dual code C ⊥ ⊥ {\displaystyle C^{\perp }} has generator matrix [ − − A ¯ ¯ T | I k ] {\displaystyle [-{\bar {A}}^{T}|I_{k}]} , where I k {\displaystyle I_{k}} is the ( n / 2 ) × × ( n / 2 ) {\displaystyle (n/2)\times (n/2)} identity matrix and a ¯ ¯ = a q ∈ ∈ F q {\displaystyle {\bar {a}}=a^{q}\in \mathbb {F} _{q}} .
References
cite-note-11. ↑ citerefconwaysloane-n-j-a-1988Conway, J.H.; Sloane, N.J.A. (1988). Sphere packings, lattices and groups. Grundlehren der mathematischen Wissenschaften. Vol. 290. Springer-Verlag. p. 77. ISBN 0-387-96617-X.
• citerefhill1986Hill, Raymond (1986). A first course in coding theory. Oxford Applied Mathematics and Computing Science Series. Oxford University Press. p. 67. ISBN 0-19-853803-0.
• citerefpless1982Pless, Vera (1982). Introduction to the theory of error-correcting codes. Wiley-Interscience Series in Discrete Mathematics. John Wiley & Sons. p. 8. ISBN 0-471-08684-3.
External links